[INFO] fetching crate gpl-token-swap 2.1.0...
[INFO] checking gpl-token-swap-2.1.0 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate gpl-token-swap 2.1.0 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate gpl-token-swap 2.1.0 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate gpl-token-swap 2.1.0
[INFO] finished tweaking crates.io crate gpl-token-swap 2.1.0
[INFO] tweaked toml for crates.io crate gpl-token-swap 2.1.0 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded derivation-path v0.1.3
[INFO] [stderr]   Downloaded ed25519-dalek-bip32 v0.1.1
[INFO] [stderr]   Downloaded assert_matches v1.5.0
[INFO] [stderr]   Downloaded enum_dispatch v0.3.12
[INFO] [stderr]   Downloaded pbkdf2 v0.9.0
[INFO] [stderr]   Downloaded gpl-math v0.1.0
[INFO] [stderr]   Downloaded arbitrary v0.4.7
[INFO] [stderr]   Downloaded gpl-token v3.2.0
[INFO] [stderr]   Downloaded gemachain-logger v1.8.2
[INFO] [stderr]   Downloaded roots v0.0.7
[INFO] [stderr]   Downloaded gemachain-frozen-abi-macro v1.8.2
[INFO] [stderr]   Downloaded gemachain-crate-features v1.8.2
[INFO] [stderr]   Downloaded gemachain-sdk v1.8.2
[INFO] [stderr]   Downloaded gemachain-frozen-abi v1.8.2
[INFO] [stderr]   Downloaded gemachain-program v1.8.2
[INFO] [stderr]   Downloaded derive_arbitrary v0.4.7
[INFO] [stderr]   Downloaded gemachain-sdk-macro v1.8.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 24f1a62b359124f8217fede5cfcb3f763a875055c85fcf6fb689ce847f14d699
[INFO] running `Command { std: "docker" "start" "-a" "24f1a62b359124f8217fede5cfcb3f763a875055c85fcf6fb689ce847f14d699", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "24f1a62b359124f8217fede5cfcb3f763a875055c85fcf6fb689ce847f14d699", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "24f1a62b359124f8217fede5cfcb3f763a875055c85fcf6fb689ce847f14d699", kill_on_drop: false }`
[INFO] [stdout] 24f1a62b359124f8217fede5cfcb3f763a875055c85fcf6fb689ce847f14d699
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 70afb45830c141a1139c736fa11b69dd3b2c76f068872efe6c2e26c09317df69
[INFO] running `Command { std: "docker" "start" "-a" "70afb45830c141a1139c736fa11b69dd3b2c76f068872efe6c2e26c09317df69", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]     Checking block-padding v0.2.1
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling semver v1.0.22
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling feature-probe v0.1.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling bv v0.11.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]     Checking gimli v0.28.1
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]    Compiling gemachain-frozen-abi-macro v1.8.2
[INFO] [stderr]    Compiling gemachain-frozen-abi v1.8.2
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]    Compiling gemachain-program v1.8.2
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]     Checking bs58 v0.4.0
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]     Checking rustc-demangle v0.1.23
[INFO] [stderr]    Compiling toml_datetime v0.6.5
[INFO] [stderr]    Compiling indexmap v2.2.5
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking unicode-xid v0.1.0
[INFO] [stderr]     Checking signature v1.6.4
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling winapi v0.3.9
[INFO] [stderr]     Checking jobserver v0.1.28
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]     Checking cc v1.0.83
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking quote v0.6.13
[INFO] [stderr]    Compiling gemachain-sdk v1.8.2
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking chrono v0.4.34
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking qstring v0.7.2
[INFO] [stderr]     Checking uriparse v0.6.4
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking roots v0.0.7
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]     Checking gemachain-logger v1.8.2
[INFO] [stderr]     Checking proptest v1.4.0
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling blake3 v1.5.0
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.9.3
[INFO] [stderr]    Compiling borsh-derive-internal v0.9.3
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling rustls v0.21.10
[INFO] [stderr]     Checking h2 v0.3.24
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling bytemuck_derive v1.5.0
[INFO] [stderr]    Compiling enum_dispatch v0.3.12
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling gemachain-sdk-macro v1.8.2
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking zeroize v1.3.0
[INFO] [stderr]    Compiling num_enum_derive v0.5.11
[INFO] [stderr]     Checking thiserror v1.0.57
[INFO] [stderr]     Checking bytemuck v1.14.3
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking num_enum v0.5.11
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking serde_bytes v0.11.14
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ed25519 v1.5.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking crypto-mac v0.9.1
[INFO] [stderr]     Checking crypto-mac v0.11.1
[INFO] [stderr]     Checking derivation-path v0.1.3
[INFO] [stderr]     Checking pbkdf2 v0.9.0
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking curve25519-dalek v3.2.1
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]     Checking libsecp256k1-core v0.2.2
[INFO] [stderr]     Checking sha3 v0.9.1
[INFO] [stderr]     Checking hmac v0.9.0
[INFO] [stderr]     Checking hmac v0.11.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking hmac-drbg v0.3.0
[INFO] [stderr]     Checking reqwest v0.11.24
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]     Checking ed25519-dalek-bip32 v0.1.1
[INFO] [stderr]    Compiling borsh-derive v0.9.3
[INFO] [stderr]     Checking gemachain-crate-features v1.8.2
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1 v0.6.0
[INFO] [stderr]     Checking borsh v0.9.3
[INFO] [stderr]     Checking gpl-token v3.2.0
[INFO] [stderr]     Checking gpl-math v0.1.0
[INFO] [stderr]     Checking gpl-token-swap v2.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0432]: unresolved import `sim`
[INFO] [stdout]    --> src/curve/stable.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |     use sim::StableSwapModel;
[INFO] [stdout]     |         ^^^ use of undeclared crate or module `sim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gpl-token-swap` (lib test) due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "70afb45830c141a1139c736fa11b69dd3b2c76f068872efe6c2e26c09317df69", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "70afb45830c141a1139c736fa11b69dd3b2c76f068872efe6c2e26c09317df69", kill_on_drop: false }`
[INFO] [stdout] 70afb45830c141a1139c736fa11b69dd3b2c76f068872efe6c2e26c09317df69
[INFO] checking gpl-token-swap-2.1.0 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate gpl-token-swap 2.1.0 into /workspace/builds/worker-2-tc2/source
[INFO] validating manifest of crates.io crate gpl-token-swap 2.1.0 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate gpl-token-swap 2.1.0
[INFO] finished tweaking crates.io crate gpl-token-swap 2.1.0
[INFO] tweaked toml for crates.io crate gpl-token-swap 2.1.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 83fd9747c0fa4547560990494e96dcefd2d22bad0f7e19266457ee4f56d92b8c
[INFO] running `Command { std: "docker" "start" "-a" "83fd9747c0fa4547560990494e96dcefd2d22bad0f7e19266457ee4f56d92b8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "83fd9747c0fa4547560990494e96dcefd2d22bad0f7e19266457ee4f56d92b8c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "83fd9747c0fa4547560990494e96dcefd2d22bad0f7e19266457ee4f56d92b8c", kill_on_drop: false }`
[INFO] [stdout] 83fd9747c0fa4547560990494e96dcefd2d22bad0f7e19266457ee4f56d92b8c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 46e373a78127a67e339fa02e29bbaf162fec53452f2c7c0cfb6242b9650466f9
[INFO] running `Command { std: "docker" "start" "-a" "46e373a78127a67e339fa02e29bbaf162fec53452f2c7c0cfb6242b9650466f9", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]    Compiling crunchy v0.2.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling semver v1.0.22
[INFO] [stderr]     Checking block-padding v0.2.1
[INFO] [stderr]     Checking opaque-debug v0.3.1
[INFO] [stderr]    Compiling libc v0.2.153
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking getrandom v0.1.16
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking mio v0.8.11
[INFO] [stderr]     Checking socket2 v0.5.6
[INFO] [stderr]     Checking num_cpus v1.16.0
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling feature-probe v0.1.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking termcolor v1.4.1
[INFO] [stderr]     Checking humantime v2.1.0
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling bv v0.11.1
[INFO] [stderr]     Checking rand_chacha v0.2.2
[INFO] [stderr]     Checking tokio v1.36.0
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]     Checking gimli v0.28.1
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking miniz_oxide v0.7.2
[INFO] [stderr]     Checking memmap2 v0.5.10
[INFO] [stderr]    Compiling gemachain-frozen-abi-macro v1.8.2
[INFO] [stderr]    Compiling gemachain-frozen-abi v1.8.2
[INFO] [stderr]     Checking hashbrown v0.11.2
[INFO] [stderr]    Compiling gemachain-program v1.8.2
[INFO] [stderr]     Checking object v0.32.2
[INFO] [stderr]    Compiling once_cell v1.19.0
[INFO] [stderr]    Compiling failure_derive v0.1.8
[INFO] [stderr]     Checking bs58 v0.4.0
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]    Compiling toml_datetime v0.6.5
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling indexmap v2.2.5
[INFO] [stderr]     Checking rustc-demangle v0.1.23
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking signature v1.6.4
[INFO] [stderr]     Checking unicode-xid v0.1.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]    Compiling winapi v0.3.9
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling jobserver v0.1.28
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking uint v0.9.5
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking quote v0.6.13
[INFO] [stderr]    Compiling gemachain-sdk v1.8.2
[INFO] [stderr]     Checking wait-timeout v0.2.0
[INFO] [stderr]     Checking chrono v0.4.34
[INFO] [stderr]     Checking rusty-fork v0.3.0
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking rand_xorshift v0.3.0
[INFO] [stderr]     Checking qstring v0.7.2
[INFO] [stderr]     Checking uriparse v0.6.4
[INFO] [stderr]     Checking assert_matches v1.5.0
[INFO] [stderr]     Checking roots v0.0.7
[INFO] [stderr]     Checking env_logger v0.9.3
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]     Checking gemachain-logger v1.8.2
[INFO] [stderr]    Compiling ring v0.17.8
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]    Compiling blake3 v1.5.0
[INFO] [stderr]    Compiling ring v0.16.20
[INFO] [stderr]     Checking proptest v1.4.0
[INFO] [stderr]    Compiling toml_edit v0.19.15
[INFO] [stderr]     Checking tokio-util v0.7.10
[INFO] [stderr]    Compiling borsh-schema-derive-internal v0.9.3
[INFO] [stderr]    Compiling borsh-derive-internal v0.9.3
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling rustls v0.21.10
[INFO] [stderr]     Checking h2 v0.3.24
[INFO] [stderr]    Compiling proc-macro-crate v1.3.1
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling zeroize_derive v1.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]    Compiling bytemuck_derive v1.5.0
[INFO] [stderr]    Compiling enum_dispatch v0.3.12
[INFO] [stderr]    Compiling gemachain-sdk-macro v1.8.2
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]    Compiling num_enum_derive v0.5.11
[INFO] [stderr]     Checking zeroize v1.3.0
[INFO] [stderr]     Checking bytemuck v1.14.3
[INFO] [stderr]     Checking thiserror v1.0.57
[INFO] [stderr]     Checking num_enum v0.5.11
[INFO] [stderr]     Checking hyper v0.14.28
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking serde v1.0.197
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking serde_bytes v0.11.14
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]     Checking ed25519 v1.5.3
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]     Checking failure v0.1.8
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking crypto-mac v0.8.0
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking crypto-mac v0.9.1
[INFO] [stderr]     Checking crypto-mac v0.11.1
[INFO] [stderr]     Checking derivation-path v0.1.3
[INFO] [stderr]     Checking sha2 v0.9.9
[INFO] [stderr]     Checking curve25519-dalek v3.2.1
[INFO] [stderr]     Checking hmac v0.8.1
[INFO] [stderr]     Checking libsecp256k1-core v0.2.2
[INFO] [stderr]     Checking sha3 v0.9.1
[INFO] [stderr]     Checking hmac v0.9.0
[INFO] [stderr]     Checking pbkdf2 v0.9.0
[INFO] [stderr]     Checking hmac v0.11.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking hmac-drbg v0.3.0
[INFO] [stderr]     Checking reqwest v0.11.24
[INFO] [stderr]     Checking ed25519-dalek v1.0.1
[INFO] [stderr]    Compiling proc-macro-crate v0.1.5
[INFO] [stderr]     Checking ed25519-dalek-bip32 v0.1.1
[INFO] [stderr]    Compiling borsh-derive v0.9.3
[INFO] [stderr]     Checking gemachain-crate-features v1.8.2
[INFO] [stderr]    Compiling libsecp256k1-gen-genmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1-gen-ecmult v0.2.1
[INFO] [stderr]    Compiling libsecp256k1 v0.6.0
[INFO] [stderr]     Checking borsh v0.9.3
[INFO] [stderr]     Checking gpl-math v0.1.0
[INFO] [stderr]     Checking gpl-token v3.2.0
[INFO] [stderr]     Checking gpl-token-swap v2.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/curve/stable.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     for _ in 1..b {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/curve/stable.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |     for _ in 1..b {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/curve/stable.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for _ in 0..ITERATIONS {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:124:14
[INFO] [stdout]     |
[INFO] [stdout] 124 |     for _ in 0..ITERATIONS {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/state.rs:61:50
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 SwapV1::pack(swap_info, &mut dst[1..])
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 5 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `sim`
[INFO] [stdout]    --> src/curve/stable.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |     use sim::StableSwapModel;
[INFO] [stdout]     |         ^^^ use of undeclared crate or module `sim`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/calculator.rs:540:50
[INFO] [stdout]     |
[INFO] [stdout] 540 |         pub fn total_and_intermediate()(total in 1..u64::MAX)
[INFO] [stdout]     |                                                  ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/calculator.rs:541:42
[INFO] [stdout]     |
[INFO] [stdout] 541 |                         (intermediate in 1..total, total in Just(total))
[INFO] [stdout]     |                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:393:36
[INFO] [stdout]     |
[INFO] [stdout] 393 |             source_token_amount in 2..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:394:35
[INFO] [stdout]     |
[INFO] [stdout] 394 |             swap_source_amount in 1..u64::MAX,
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:395:40
[INFO] [stdout]     |
[INFO] [stdout] 395 |             swap_destination_amount in 1..u64::MAX,
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:396:28
[INFO] [stdout]     |
[INFO] [stdout] 396 |             pool_supply in INITIAL_SWAP_POOL_AMOUNT..u64::MAX as u128,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:397:30
[INFO] [stdout]     |
[INFO] [stdout] 397 |             token_b_price in 1..u64::MAX,
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:425:36
[INFO] [stdout]     |
[INFO] [stdout] 425 |             source_token_amount in 2..u32::MAX, // kept small to avoid proptest rejections
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:426:35
[INFO] [stdout]     |
[INFO] [stdout] 426 |             swap_source_amount in 1..u64::MAX,
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:427:40
[INFO] [stdout]     |
[INFO] [stdout] 427 |             swap_destination_amount in 1..u64::MAX,
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:428:28
[INFO] [stdout]     |
[INFO] [stdout] 428 |             pool_supply in INITIAL_SWAP_POOL_AMOUNT..u64::MAX as u128,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:429:30
[INFO] [stdout]     |
[INFO] [stdout] 429 |             token_b_price in 1..u32::MAX, // kept small to avoid proptest rejections
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:458:36
[INFO] [stdout]     |
[INFO] [stdout] 458 |             swap_token_a_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:459:36
[INFO] [stdout]     |
[INFO] [stdout] 459 |             swap_token_b_amount in 1..u32::MAX, // kept small to avoid proptest rejections
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:460:30
[INFO] [stdout]     |
[INFO] [stdout] 460 |             token_b_price in 1..u32::MAX, // kept small to avoid proptest rejections
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:512:36
[INFO] [stdout]     |
[INFO] [stdout] 512 |             source_token_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:513:35
[INFO] [stdout]     |
[INFO] [stdout] 513 |             swap_source_amount in 1..u64::MAX,
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:514:40
[INFO] [stdout]     |
[INFO] [stdout] 514 |             swap_destination_amount in 1..u64::MAX,
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:515:30
[INFO] [stdout]     |
[INFO] [stdout] 515 |             token_b_price in 1..u64::MAX,
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:535:36
[INFO] [stdout]     |
[INFO] [stdout] 535 |             source_token_amount in 1..u32::MAX, // kept small to avoid proptest rejections
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:536:35
[INFO] [stdout]     |
[INFO] [stdout] 536 |             swap_source_amount in 1..u64::MAX,
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:537:40
[INFO] [stdout]     |
[INFO] [stdout] 537 |             swap_destination_amount in 1..u64::MAX,
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:538:30
[INFO] [stdout]     |
[INFO] [stdout] 538 |             token_b_price in 1..u32::MAX, // kept small to avoid proptest rejections
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:563:34
[INFO] [stdout]     |
[INFO] [stdout] 563 |             pool_token_amount in 2..u64::MAX, // minimum 2 to splitting on deposit
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:564:34
[INFO] [stdout]     |
[INFO] [stdout] 564 |             pool_token_supply in INITIAL_SWAP_POOL_AMOUNT..u64::MAX as u128,
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:565:36
[INFO] [stdout]     |
[INFO] [stdout] 565 |             swap_token_a_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:566:36
[INFO] [stdout]     |
[INFO] [stdout] 566 |             swap_token_b_amount in 1..u32::MAX, // kept small to avoid proptest rejections
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:567:30
[INFO] [stdout]     |
[INFO] [stdout] 567 |             token_b_price in 1..u32::MAX, // kept small to avoid proptest rejections
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:613:36
[INFO] [stdout]     |
[INFO] [stdout] 613 |             swap_token_a_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:614:36
[INFO] [stdout]     |
[INFO] [stdout] 614 |             swap_token_b_amount in 1..u32::MAX, // kept small to avoid proptest rejections
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_price.rs:615:30
[INFO] [stdout]     |
[INFO] [stdout] 615 |             token_b_price in 1..u32::MAX, // kept small to avoid proptest rejections
[INFO] [stdout]     |                              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:422:36
[INFO] [stdout]     |
[INFO] [stdout] 422 |             source_token_amount in 2..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:423:35
[INFO] [stdout]     |
[INFO] [stdout] 423 |             swap_source_amount in 1..u64::MAX,
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:424:40
[INFO] [stdout]     |
[INFO] [stdout] 424 |             swap_destination_amount in 1..u64::MAX,
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:425:28
[INFO] [stdout]     |
[INFO] [stdout] 425 |             pool_supply in INITIAL_SWAP_POOL_AMOUNT..u64::MAX as u128,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:454:36
[INFO] [stdout]     |
[INFO] [stdout] 454 |             swap_token_a_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:455:36
[INFO] [stdout]     |
[INFO] [stdout] 455 |             swap_token_b_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:482:36
[INFO] [stdout]     |
[INFO] [stdout] 482 |             source_token_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:483:35
[INFO] [stdout]     |
[INFO] [stdout] 483 |             swap_source_amount in 1..u64::MAX,
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:484:40
[INFO] [stdout]     |
[INFO] [stdout] 484 |             swap_destination_amount in 1..u64::MAX,
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:500:34
[INFO] [stdout]     |
[INFO] [stdout] 500 |             pool_token_amount in 1..u64::MAX,
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:501:34
[INFO] [stdout]     |
[INFO] [stdout] 501 |             pool_token_supply in 1..u64::MAX,
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:502:36
[INFO] [stdout]     |
[INFO] [stdout] 502 |             swap_token_a_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:503:36
[INFO] [stdout]     |
[INFO] [stdout] 503 |             swap_token_b_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:528:36
[INFO] [stdout]     |
[INFO] [stdout] 528 |             swap_token_a_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/constant_product.rs:529:36
[INFO] [stdout]     |
[INFO] [stdout] 529 |             swap_token_b_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:310:49
[INFO] [stdout]     |
[INFO] [stdout] 310 |         pub fn values_sum_within_u64()(total in 1..u64::MAX)
[INFO] [stdout]     |                                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:311:36
[INFO] [stdout]     |
[INFO] [stdout] 311 |                         (amount in 1..total, total in Just(total))
[INFO] [stdout]     |                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:322:36
[INFO] [stdout]     |
[INFO] [stdout] 322 |             source_token_amount in 2..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:323:35
[INFO] [stdout]     |
[INFO] [stdout] 323 |             swap_source_amount in 1..u64::MAX,
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:324:40
[INFO] [stdout]     |
[INFO] [stdout] 324 |             swap_destination_amount in 1..u64::MAX,
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:325:28
[INFO] [stdout]     |
[INFO] [stdout] 325 |             pool_supply in INITIAL_SWAP_POOL_AMOUNT..u64::MAX as u128,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:326:31
[INFO] [stdout]     |
[INFO] [stdout] 326 |             token_b_offset in 1..u64::MAX,
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:365:36
[INFO] [stdout]     |
[INFO] [stdout] 365 |             source_token_amount in 2..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:366:35
[INFO] [stdout]     |
[INFO] [stdout] 366 |             swap_source_amount in 1..u64::MAX,
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:367:40
[INFO] [stdout]     |
[INFO] [stdout] 367 |             swap_destination_amount in 1..u64::MAX,
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:368:28
[INFO] [stdout]     |
[INFO] [stdout] 368 |             pool_supply in INITIAL_SWAP_POOL_AMOUNT..u64::MAX as u128,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:369:31
[INFO] [stdout]     |
[INFO] [stdout] 369 |             token_b_offset in 1..u64::MAX,
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:398:36
[INFO] [stdout]     |
[INFO] [stdout] 398 |             swap_token_a_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:450:36
[INFO] [stdout]     |
[INFO] [stdout] 450 |             source_token_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:451:35
[INFO] [stdout]     |
[INFO] [stdout] 451 |             swap_source_amount in 1..u64::MAX,
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:452:40
[INFO] [stdout]     |
[INFO] [stdout] 452 |             swap_destination_amount in 1..u64::MAX,
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:453:31
[INFO] [stdout]     |
[INFO] [stdout] 453 |             token_b_offset in 1..u64::MAX,
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:487:36
[INFO] [stdout]     |
[INFO] [stdout] 487 |             source_token_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:488:35
[INFO] [stdout]     |
[INFO] [stdout] 488 |             swap_source_amount in 1..u64::MAX,
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:489:40
[INFO] [stdout]     |
[INFO] [stdout] 489 |             swap_destination_amount in 1..u64::MAX,
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:490:31
[INFO] [stdout]     |
[INFO] [stdout] 490 |             token_b_offset in 1..u64::MAX,
[INFO] [stdout]     |                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:515:34
[INFO] [stdout]     |
[INFO] [stdout] 515 |             pool_token_amount in 1..u64::MAX,
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:516:34
[INFO] [stdout]     |
[INFO] [stdout] 516 |             pool_token_supply in 1..u64::MAX,
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:517:36
[INFO] [stdout]     |
[INFO] [stdout] 517 |             swap_token_a_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/offset.rs:545:36
[INFO] [stdout]     |
[INFO] [stdout] 545 |             swap_token_a_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/curve/stable.rs:26:14
[INFO] [stdout]    |
[INFO] [stdout] 26 |     for _ in 1..b {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/curve/stable.rs:35:14
[INFO] [stdout]    |
[INFO] [stdout] 35 |     for _ in 1..b {
[INFO] [stdout]    |              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/curve/stable.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 |         for _ in 0..ITERATIONS {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:124:14
[INFO] [stdout]     |
[INFO] [stdout] 124 |     for _ in 0..ITERATIONS {
[INFO] [stdout]     |              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:401:35
[INFO] [stdout]     |
[INFO] [stdout] 401 |             swap_source_amount in 100..1_000_000_000_000_000_000u128,
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:402:40
[INFO] [stdout]     |
[INFO] [stdout] 402 |             swap_destination_amount in 100..1_000_000_000_000_000_000u128,
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:403:30
[INFO] [stdout]     |
[INFO] [stdout] 403 |             source_amount in 100..100_000_000_000u128,
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:404:20
[INFO] [stdout]     |
[INFO] [stdout] 404 |             amp in 1..150u64
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:464:34
[INFO] [stdout]     |
[INFO] [stdout] 464 |             pool_token_amount in 1..u64::MAX,
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:465:34
[INFO] [stdout]     |
[INFO] [stdout] 465 |             pool_token_supply in 1..u64::MAX,
[INFO] [stdout]     |                                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:466:36
[INFO] [stdout]     |
[INFO] [stdout] 466 |             swap_token_a_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:467:36
[INFO] [stdout]     |
[INFO] [stdout] 467 |             swap_token_b_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:468:20
[INFO] [stdout]     |
[INFO] [stdout] 468 |             amp in 1..100,
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:495:36
[INFO] [stdout]     |
[INFO] [stdout] 495 |             swap_token_a_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:496:36
[INFO] [stdout]     |
[INFO] [stdout] 496 |             swap_token_b_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:497:20
[INFO] [stdout]     |
[INFO] [stdout] 497 |             amp in 1..100,
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:523:36
[INFO] [stdout]     |
[INFO] [stdout] 523 |             source_token_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:524:35
[INFO] [stdout]     |
[INFO] [stdout] 524 |             swap_source_amount in 1..u64::MAX,
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:525:40
[INFO] [stdout]     |
[INFO] [stdout] 525 |             swap_destination_amount in 1..u64::MAX,
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:526:20
[INFO] [stdout]     |
[INFO] [stdout] 526 |             amp in 1..100,
[INFO] [stdout]     |                    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:544:36
[INFO] [stdout]     |
[INFO] [stdout] 544 |             source_token_amount in 2..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:545:35
[INFO] [stdout]     |
[INFO] [stdout] 545 |             swap_source_amount in 1..u64::MAX,
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:546:40
[INFO] [stdout]     |
[INFO] [stdout] 546 |             swap_destination_amount in 2..u64::MAX,
[INFO] [stdout]     |                                        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:547:28
[INFO] [stdout]     |
[INFO] [stdout] 547 |             pool_supply in INITIAL_SWAP_POOL_AMOUNT..u64::MAX as u128,
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:548:20
[INFO] [stdout]     |
[INFO] [stdout] 548 |             amp in 1..100u64,
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:577:36
[INFO] [stdout]     |
[INFO] [stdout] 577 |             swap_token_a_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:578:36
[INFO] [stdout]     |
[INFO] [stdout] 578 |             swap_token_b_amount in 1..u64::MAX,
[INFO] [stdout]     |                                    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/curve/stable.rs:579:20
[INFO] [stdout]     |
[INFO] [stdout] 579 |             amp in 1..100u64,
[INFO] [stdout]     |                    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/state.rs:61:50
[INFO] [stdout]    |
[INFO] [stdout] 61 |                 SwapV1::pack(swap_info, &mut dst[1..])
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error; 100 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `gpl-token-swap` (lib test) due to 2 previous errors; 100 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "46e373a78127a67e339fa02e29bbaf162fec53452f2c7c0cfb6242b9650466f9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "46e373a78127a67e339fa02e29bbaf162fec53452f2c7c0cfb6242b9650466f9", kill_on_drop: false }`
[INFO] [stdout] 46e373a78127a67e339fa02e29bbaf162fec53452f2c7c0cfb6242b9650466f9
